﻿using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Service.Core.EfCoreRepository
{
    public static class DiagnosticListenerNames
    {
        public static readonly DiagnosticListener DiagnosticListener =
            new(DiagnosticListenerName);

        public const string DiagnosticListenerName = "Service.Core";

        public const string DomainEventHandlerBegin = "Service.Core.DomainEventHandlerBegin";
        public const string DomainEventHandlerEnd = "Service.Core.DomainEventHandlerEnd";
        public const string DomainEventHandlerError = "Service.Core.DomainEventHandlerError";

        public const string IntegrationEventHandlerBegin = "Service.Core.IntegrationEventHandlerBegin";
        public const string IntegrationEventHandlerEnd = "Service.Core.IntegrationEventHandlerEnd";
        public const string IntegrationEventHandlerError = "Service.Core.IntegrationEventHandlerError";

        public const string TransactionBegin = "Service.Core.TransactionBegin";
        public const string TransactionCommit = "Service.Core.TransactionCommit";
        public const string TransactionRollback = "Service.Core.TransactionRollback";

        public const string CommandHandlerBegin = "Service.Core.CommandHandlerBegin";
        public const string CommandHandlerEnd = "Service.Core.CommandHandlerEnd";
        public const string CommandHandlerError = "Service.Core.CommandHandlerError";
    }
}
